import request from '@/config/axios'

// 资源调度-> 物资调拨出入库日志表 (审计追溯) VO
export interface DispatchLogVO {
  id: number // ID
  requestId: number // 关联的物资申请单ID
  inventoryId: number // 操作的库存项ID (关联到具体批次/二维码)
  materialId: number // 物资ID
  materialName: string // 物资名称 (冗余快照)
  logType: string // 日志类型 (INBOUND, OUTBOUND, TRANSFER, SCRAP等)
  quantity: number // 操作数量
  fromLocationDesc: string // 来源地描述 (冗余快照, 如仓库名)
  toLocationDesc: string // 去向地描述 (冗余快照, 如事件地点)
  operatorId: number // 执行人ID
  operatorName: string // 执行人姓名 (冗余快照)
  operationTime: Date // 操作时间 (调拨时间)
  remark: string // 备注
}

// 资源调度-> 物资调拨出入库日志表 (审计追溯) API
export const DispatchLogApi = {
  // 查询资源调度-> 物资调拨出入库日志表 (审计追溯)分页
  getDispatchLogPage: async (params: any) => {
    return await request.get({ url: `/wms/dispatch-log/page`, params })
  },

  // 查询资源调度-> 物资调拨出入库日志表 (审计追溯)详情
  getDispatchLog: async (id: number) => {
    return await request.get({ url: `/wms/dispatch-log/get?id=${id}` })
  },

  // 新增资源调度-> 物资调拨出入库日志表 (审计追溯)
  createDispatchLog: async (data: DispatchLogVO) => {
    return await request.post({ url: `/wms/dispatch-log/create`, data })
  },

  // 修改资源调度-> 物资调拨出入库日志表 (审计追溯)
  updateDispatchLog: async (data: DispatchLogVO) => {
    return await request.put({ url: `/wms/dispatch-log/update`, data })
  },

  // 删除资源调度-> 物资调拨出入库日志表 (审计追溯)
  deleteDispatchLog: async (id: number) => {
    return await request.delete({ url: `/wms/dispatch-log/delete?id=${id}` })
  },

  // 导出资源调度-> 物资调拨出入库日志表 (审计追溯) Excel
  exportDispatchLog: async (params) => {
    return await request.download({ url: `/wms/dispatch-log/export-excel`, params })
  },
}
